1. Technical Field
The present invention relates generally to an improved network data processing system, and in particular to a method and apparatus for managing a network data processing system. Still more particularly, the present invention provides a method and apparatus for transferring data using a set of data packets.
2. Description of Related Art
In a system area network (SAN), the hardware provides a message passing mechanism which can be used for Input/Output devices (I/O) and interprocess communications between general computing nodes (IPC). Processes executing on devices access SAN message passing hardware by posting send/receive messages to send/receive work queues on a SAN channel adapter (CA). These processes also are referred to as “consumers”. The send/receive work queues (WQ) are assigned to a consumer as a queue pair (QP). The messages can be sent over five different transport types: Reliable Connected (RC), Reliable datagram (RD), Unreliable Connected (UC), Unreliable Datagram (UD), and Raw Datagram (RawD). Consumers retrieve the results of these messages from a completion queue (CQ) through SAN send and receive work completions (WC). The source channel adapter takes care of segmenting outbound messages and sending them to the destination. The destination channel adapter takes care of reassembling inbound messages and placing them in the memory space designated by the destination's consumer. Two channel adapter types are present, a host channel adapter (HCA) and a target channel adapter (TCA). The host channel adapter is used by general purpose computing nodes to access the SAN fabric. Consumers use SAN verbs to access host channel adapter functions. The software that interprets verbs and directly accesses the channel adapter is known as the channel interface (CI).
Network management operations, especially during configuration, are often performed by relatively simple routines which have limited information transfer and storage capabilities. For this reason, the unreliable datagram message type is used, and the datagram length is limited to a fixed small value. Many management operations can be accomplished by the transfer of a single datagram or pair of request/response datagrams. When errors occur in these simple operations, the entire operation can be repeated without incurring excessive overhead. Other management operations require the transfer of large amounts of data, which cannot be contained in a single datagram. These operations require a means of correlating related datagrams, recognizing lost datagrams, and recovering lost datagrams. Also, in network management “Get” operations in which a requester requests data from a database, the requester does not know how much data will be returned; a scheme is needed for a requester to set an upper bound on the amount of data returned, and to continue the returning of more data for the request if additional data is available. Finally, in network management “Set” operations in which a large amount of data is being sent to a recipient, the recipient of the data may be unprepared to receive all the data initially.
Therefore, it would be advantageous to have an improved method and apparatus for limiting the amount of initial data sent and which provides the recipient the means to request more data when it is prepared to receive the data.